1. T : Type
2. T List
3. u : T 4. v : T List
5. x, y:T.
5. no_repeats(T;v) adjacent(T;v;x;y) (z:T. z before yv (z before xv (z = x)))
6. x : T 7. y : T 8. no_repeats(T;[u / v])
9. 0 < ||v||
10. adjacent(T;v;x;y)
11. z : T 12. z before y [u / v]
z before x [u / v] (z = x)
C1: 8. no_repeats(T;v)
C1: 9. (uv)
C1: 10. 0 < ||v||
C1: 11. adjacent(T;v;x;y)
C1: 12. z : T C1: 13. z before y [u / v]
C1: 14. z:T. z before yv (z before xv (z = x))
C1: z before x [u / v] (z = x)
C.